package cn.com.tianpeidong.restaurantadmin.project.admin.user.mapper;

import java.util.List;
import java.util.Set;

import cn.com.tianpeidong.restaurantadmin.project.admin.user.entity.UserRole;
import cn.com.tianpeidong.restaurantadmin.project.admin.user.vo.UserVO;
import org.apache.ibatis.annotations.Mapper;

import cn.com.tianpeidong.restaurantadmin.project.admin.user.entity.UserInfo;
import io.lettuce.core.dynamic.annotation.Param;
import org.springframework.web.bind.annotation.PathVariable;

@Mapper
public interface UserInfoMapper {

	UserInfo selectUserByLoginName(@Param("userName") String username);

	int updateUserInfo(UserInfo user);

	Set<String> listUserMenu(@Param("userId") Long userId);

	Set<String> listUserPerm(@Param("userId") Long userId);

    String getUserRole(@Param("userId") Long userId);

    int deleteUser(@Param("userId") Long userId);

	int insert(UserInfo userVO);

	int insertUserRole(UserRole userRole);

	UserInfo getById(@Param("userId") Long userId);

	int resetPassword(UserInfo userInfo);

    List<UserVO> listUser(UserVO userVO);

	int updateUserRole(@Param("userId") Long userId, @Param("roleId") Long roleId);

	int updatePasswd(UserInfo userInfo);

	UserVO getUserVOById(@Param("id") Long id);
}